home *** CD-ROM | disk | FTP | other *** search
/ Aminet 10 / aminetcdnumber101996.iso / Aminet / gfx / show / Visage.lha / Visage / Install Visage next >
Text File  |  1995-12-19  |  19KB  |  826 lines

  1. ;
  2. ; $VER: Install_Visage 39.3 (3.12.95)
  3. ;
  4. ; Installer script for Visage.
  5. ;
  6.  
  7. ; Get current language (no need for lots of silly icons! ;). However, this
  8. ; won't properly work for all versions of the Installer. Some doesn't
  9. ; understand the language "default". :/
  10.  
  11. (if (= (exists "Env:Language") 1)
  12.     ; GetEnv reports "String too long" if the variable doesn't exist! :(
  13.     (set @language (getenv "language"))
  14. )
  15.  
  16. ;**************************************************************************
  17. ;
  18. ; English strings
  19. ;
  20.  
  21. ; .ct
  22. (set default-lang 1)
  23.  
  24. (set #bad-kick
  25.     "You must have AmigaOS Release 3.0 or newer to use Visage."
  26. )
  27.  
  28. (set #welcome
  29.     (cat
  30.         "\n\n\nWelcome to the Visage installation utility.\n\n"
  31.         "This program lets you install Visage on your Amiga.\n\n\n"
  32.         "Visage © 1995  Magnus Holmgren."
  33.     )
  34. )
  35.  
  36. (set #install-parts "Please select the parts you wish to install")
  37.  
  38. (set #item-visage "Visage")
  39.  
  40. (set #item-visage-guide "Visage.guide")
  41.  
  42. (set #item-locale "Translations")
  43.  
  44. (set #item-codec "JPEG codec")
  45.  
  46. (set #item-getmodeid "GetModeID")
  47.  
  48. (set #item-kill "Kill")
  49.  
  50. (set #item-makelink "MakeLink")
  51.  
  52. (set #item-unpackilbm "UnpackILBM")
  53.  
  54. (set #install-parts-help
  55.     (cat
  56.         "    Here you select the different parts of Visage that you would like to "
  57.         "install. After that, you select the details of the installation (such as "
  58.         "where the different files should be installed). You may choose to install "
  59.         "the following items:\n"
  60.         "    Visage: The actual picture viewer.\n"
  61.         "    Visage.guide: The manual, in AmigaGuide® format. If you install it "
  62.         "using the installer, the text will reflow to fit the current window size. "
  63.         "If you do a manual installation, the text is fixed to 76 columns.\n"
  64.         "    Translations: If you install a translation, then Visage can operate in "
  65.         "the language(s) you select.\n"
  66.         "    JPEG codec: The Tower JPEG Codec Class, which Visage needs to be able "
  67.         "to view JPEG pictures (without using datatypes).\n"
  68.         "    GetModeID: A program that shows a screen mode requester, and prints "
  69.         "a decimal number that represents the selected screen mode.\n"
  70.         "    Kill: A program that can stop another program (sending \"break\" "
  71.         "signals). Similar to Break.\n"
  72.         "    MakeLink: A replacement for the MakeLink command that supports "
  73.         "soft links.\n"
  74.         "    UnpackILBM: A program that unpacks the picture data in an IFF ILBM "
  75.         "picture (the BODY chunk).\n"
  76.         "    For more information about these parts, please read the manual.\n"
  77.     )
  78. )
  79.  
  80. (set #where-visage "Where would you like to install Visage?")
  81.  
  82. (set #where-visage-guide "Where would you like to install Visage.guide?")
  83.  
  84. (set #copy-guide-icon "Should I copy the icon for Visage.guide?")
  85.  
  86. (set #convert-guide "Converting Visage.guide...")
  87.  
  88. (set #which-language "Which languages should be installed?")
  89.  
  90. (set #which-language-help
  91.     (cat
  92.         "    The Amiga can be operated in many different languages. If you "
  93.         "want Visage to use the same language as your Amiga Workbench, "
  94.         "then a couple of catalog files must be copied to your harddisk "
  95.         "for each language supported.\n"
  96.         "    To reduce the amount of space consumed by the language files, "
  97.         "you can select to have only the files of specific languages "
  98.         "copied.\n"
  99.         "    Simply check the boxes of the languages you wish to have have "
  100.         "available on your system.\n"
  101.     )
  102. )
  103.  
  104. (set #where-tools "Where would you like to install the extra programs?")
  105.  
  106. (set #where-tools-help
  107.     (cat
  108.         "    Here you specify where the programs GetModeID, Kill and UnpackILBM "
  109.         "will be installed. Only the programs you selected will be copied. Since "
  110.         "these programs are Shell-only, the default location is C:, where the "
  111.         "systems Shell-only programs can be found.\n"
  112.         "    It is recommended that you install these programs somewhere in "
  113.         "your command search path.\n"
  114.     )
  115. )
  116.  
  117. (set #copy "Copying %s to %s...")
  118.  
  119. (set #program-update "How do you want to update the tooltypes in the icon?")
  120.  
  121. (set #update-none "No update")
  122.  
  123. (set #update-all "Add all")
  124.  
  125. (set #update-since "Add new since %s")
  126.  
  127. (set #program-update-help
  128.     (cat
  129.         "    Since this installation updated an older version of Visage, "
  130.         "the icon have not been copied over. This to maintain any changes "
  131.         "you may have made to it. However, new tooltypes may have been added. "
  132.         "Here you can decide if you want to:\n"
  133.         "    No update: Skip this part.\n"
  134.         "    Add all tooltypes: existing tooltypes will not be changed "
  135.         "Any tooltypes you may have removed will be added again. The new "
  136.         "tooltypes will be added as well.\n "
  137.         "    Add new since 39.x: Only add the new tooltypes since that version. "
  138.         "Any existing tooltype not be changed.\n"
  139.     )
  140. )
  141.  
  142. ; JPEG codec
  143.  
  144. (set #codec-message
  145.     (cat
  146.         "\n\n\nTower JPEG Codec Class\n\nCopyright © 1994 Christoph Feck, TowerSystems\n"
  147.         "All Rights Reserved.\n\n\n\n"
  148.         "Please refer to the documentation for details."
  149.     )
  150. )
  151.  
  152. (set #jpeg-tmp-prompt
  153.     "Select a directory for temporary files, not in RAM:"
  154. )
  155.  
  156. (set #temp-file
  157.     (cat
  158.         "    To decode certain JPEG images, the Codec needs a large amount of memory.\n"
  159.         "If the required storage is not available in main memory, the Codec will "
  160.         "create a temporary file on your harddisk. The volume on which this file is "
  161.         "created should have enough free space (about 4 meg).\n"
  162.         "    A temporary file is usually only required, if you want to quantize "
  163.         "JPEG images to 256 colors.\n\n"
  164.         @askdir-help
  165.     )
  166. )
  167.  
  168. (set #jpeg-startup-prompt
  169.     "An assignment has to be added to your user-startup."
  170. )
  171.  
  172. (set #make-assign
  173.     (cat
  174.         "    The logical assignment \"JPEGTMP:\" is used to refer to the temporary "
  175.         "directory.\n"
  176.         "    In order to make this assignment available on every reboot, an "
  177.         "\"Assign\" command has to be added to your \"user-startup\" file.\n\n"
  178.         @startup-help
  179.     )
  180. )
  181.  
  182. (set #jpeg-copy "Copying %s...")
  183.  
  184.  
  185. ;**************************************************************************
  186. ;
  187. ; French strings
  188. ;
  189.  
  190. ; .ct
  191. (if (= @language "francais")
  192.     (
  193.         (set default-lang 2)
  194.     )
  195. )
  196.  
  197.  
  198. ;**************************************************************************
  199. ;
  200. ; Italian strings
  201. ;
  202.  
  203. ; .ct
  204. (if (= @language "italiano")
  205.     (
  206.         (set default-lang 4)
  207.     )
  208. )
  209.  
  210.  
  211. ;**************************************************************************
  212. ;
  213. ; Norwegian strings
  214. ;
  215.  
  216. ; .ct
  217. (if (= @language "norsk")
  218.     (
  219.         (set default-lang 8)
  220.     )
  221. )
  222.  
  223.  
  224. ;**************************************************************************
  225. ;
  226. ; Finnish strings
  227. ;
  228.  
  229. ; .ct
  230. (if (= @language "suomi")
  231.     (
  232.         (set default-lang 16)
  233.     )
  234. )
  235.  
  236.  
  237. ;**************************************************************************
  238. ;
  239. ; Swedish strings
  240. ;
  241.  
  242. ; .ct
  243. (if (= @language "svenska")
  244.     (
  245.         (set default-lang 32)
  246.  
  247.         (set #bad-kick
  248.             "Du måste ha AmigaOS version 3 eller nyare för att kunna använda Visage."
  249.         )
  250.  
  251.         (set #welcome
  252.             (cat
  253.                 "\n\n\nVälkommen till Installeraren.\n\n"
  254.                 "Det här programmet låter dig installera Visage i din Amiga.\n\n\n"
  255.                 "Visage © 1995  Magnus Holmgren."
  256.             )
  257.         )
  258.  
  259.         (set #install-parts "Välj de delar du vill installera:")
  260.  
  261.         (set #item-visage "Visage")
  262.  
  263.         (set #item-visage-guide "Visage.guide")
  264.  
  265.         (set #item-locale "Översättningar")
  266.  
  267.         (set #item-codec "JPEG codec")
  268.  
  269.         (set #install-parts-help
  270.             (cat
  271.                 "  Här väljer du de olika delar av Visage som du vill installera. "
  272.                 "Efter det anger du detaljer om installationen (såsom var de olika "
  273.                 "filerna ska installeras). Du kan välja mellan följande delar:\n"
  274.                 "  Visage: Själva bildvisaren.\n"
  275.                 "  Visage.guide: Manualen, i AmigaGuide®-format. Om du installerar "
  276.                 "den med Installeraren, så kommer texten att formateras om efter "
  277.                 "fönstrets aktuella storlek. Om du installerar den manuellt, så "
  278.                 "är texten fixerad vid 76 kolumner.\n"
  279.                 "  Översättningar: Om du installerar en översättning, så kan "
  280.                 "Visage använda det språket.\n"
  281.                 "  JPEG codec: \"The Tower JPEG Codec Class\". Visage behöver "
  282.                 "den här för att kunna visa JPEG-bilder.\n"
  283.                 "  GetModeID: Ett program som visar en skärmlägesväljare, och "
  284.                 "sedan skriver ut ett decimalt tal som motsvarar det valda "
  285.                 "skärmläget.\n"
  286.                 "  Kill: Ett program som kan stoppa andra program (genom att "
  287.                 "skicka \"break\"-signaler). Liknar Break.\n"
  288.                 "  UnpackILBM: Ett program som packar upp bilddatan i en IFF ILBM "
  289.                 "bild (BODY \"chunken\").\n"
  290.                 "    För mer information om de här sakerna, se manualen.\n"
  291.             )
  292.         )
  293.  
  294.         (set #where-visage "Var vill du installera Visage?")
  295.  
  296.         (set #where-visage-guide "Var vill du installera Visage.guide?")
  297.  
  298.         (set #copy-guide-icon "Ska jag kopiera ikonen för Visage.guide?")
  299.  
  300.         (set #convert-guide "Konverterar Visage.guide...")
  301.  
  302.         (set #which-language "Vilka språk ska installeras?")
  303.  
  304.         (set #which-language-help
  305.             (cat
  306.                 "  Amigan kan arbeta med flera olika språk. Om du vill att "
  307.                 "Visage ska använda samma språk som Amiga Workbench så "
  308.                 "måste en så kallad katalogfil kopieras till din systemdisk "
  309.                 "för varje språk.\n"
  310.                 "  För att minimera diskutrymmet för språkfiler kan du välja "
  311.                 "att bara installera filerna för vissa språk.\n"
  312.                 "  Markera bara rutorna för de språk du önskar installera i "
  313.                 "din dator.\n"
  314.             )
  315.         )
  316.  
  317.         (set #where-tools "Var vill du installera de extra programmen?")
  318.  
  319.         (set #where-tools-help
  320.             (cat
  321.                 "  Här anger du var programmen GetModeID, Kill och UnpackILBM "
  322.                 "ska installeras någonstans. Bara de program som du valde "
  323.                 "tidigare kommer att kopieras. Eftersom de här programmen bara "
  324.                 "kan användas från ett skal, så är den förvalda destinationen C:, "
  325.                 "eftersom systemets \"skalprogram\" finns där. Det rekommenderas "
  326.                 "att du installerar dessa program någonstans i sökvägen för "
  327.                 "kommandon.\n"
  328.             )
  329.         )
  330.  
  331.         (set #copy "Kopierar %s till %s...")
  332.  
  333.         (set #program-update "Hur vill du uppdatera verktygstyperna i ikonen?")
  334.  
  335.         (set #update-none "Uppdatera inte")
  336.  
  337.         (set #update-all "Lägg till alla")
  338.  
  339.         (set #update-since "Lägg till nya sedan %s")
  340.  
  341.         (set #program-update-help
  342.             (cat
  343.                 "  Eftersom den här installationen uppdaterade än gammal version "
  344.                 "av Visage, så har ikonen inte kopierats. Detta för att bibehålla "
  345.                 "eventuella ändringar som du kan ha gjort. Men nya verktygstyper kan "
  346.                 "ha tillkommit. Här kan du avgöra vad du vill göra:\n"
  347.                 "  Uppdatera inte: Hoppa över detta.\n"
  348.                 "  Lägg till alla: Lägg till alla verktygstyper. Existerande "
  349.                 "verktygstyper kommer inte att ändras.\n"
  350.                 "  Lägg till nya sedan 39.x: Lägg bara till de nya "
  351.                 "verktytstyperna. Eventuella existerande verktygstyper "
  352.                 "kommer inte att ändras.\n"
  353.             )
  354.         )
  355.  
  356.         ; JPEG codec
  357.  
  358.         (set #temp-file
  359.             (cat
  360.                 "  För att packa upp vissa JPEG-bilder, så behöver Codec:en "
  361.                 "mycket minne.\n"
  362.                 "  Om det inte finns nog med plats i huvudminnet, så kommer "
  363.                 "Codec:en att skapa en temporärfil på din hårddisk. Volymen "
  364.                 "på vilken den här filen skapas bör ha tillräcklikt med fritt "
  365.                 "utrymme (ungefär 4 MB).\n"
  366.                 "  En temporärfil behövs normalt sett bara om du vill "
  367.                 "kvantisera JPEG-bilder till 256 färger.\n\n"
  368.                 @askdir-help
  369.             )
  370.         )
  371.  
  372.         (set #make-assign
  373.             (cat
  374.                 "  Den logiska tilldelningen \"JPEGTMP:\" används för att "
  375.                 "referera till lådan för temporära filer.\n"
  376.                 "  För att göra den här tilldelningen tillgänglig vid varje "
  377.                 "systemstart så behöver ett \"Assign\"-kommando läggas till "
  378.                 "i din \"user-startup\"-fil.\n\n"
  379.                 @startup-help
  380.             )
  381.         )
  382.  
  383.         (set #codec-message
  384.             (cat
  385.                 "\n\n\nTower JPEG Codec Class\n\n"
  386.                 "Upphovsrätt © 1994 Christoph Feck, TowerSystems\n"
  387.                 "Alla rättigheter reserverade.\n\n\n\n"
  388.                 "Var god läs dokumentationen för detaljer."
  389.             )
  390.         )
  391.  
  392.         (set #jpeg-tmp-prompt
  393.             "Välj en låda för temporära filer, inte i RAM:"
  394.         )
  395.  
  396.         (set #jpeg-startup-prompt
  397.             "En tilldelning måste läggas till i din user-startup."
  398.         )
  399.  
  400.         (set #jpeg-copy "Kopierar %s...")
  401.     )
  402. )
  403.  
  404. ;**************************************************************************
  405. ;
  406. ; The actual installaion script
  407. ;
  408.  
  409. ; Check Kickstart version. Exit if not at least 3.0
  410. (if (< (/ (getversion) 65536) 39)
  411.         (abort #bad-kick)
  412. )
  413.  
  414. ; Set to true if we did an update (old Visage.info found)
  415. (set update 0)
  416.  
  417. ; Since files probably are scatter installed, don't mention any specific location.
  418. (set @default-dest "")
  419.  
  420. ; Version of old program. This means no old program.
  421. (set visagever 0)
  422. (set visagerev 0)
  423.  
  424. ; Greetings Mr. Falken...
  425. (message #welcome)
  426.  
  427. (welcome)
  428.  
  429. ; Ask the user what to install
  430. (set install-files
  431.     (askoptions
  432.         (prompt    #install-parts)
  433.         (help    #install-parts-help "\n" @askoptions-help)
  434.         (choices
  435.             #item-visage
  436.             #item-visage-guide
  437.             #item-locale
  438.             #item-codec
  439.             #item-getmodeid
  440.             #item-kill
  441.             #item-makelink
  442.             #item-unpackilbm
  443.         )
  444.         (default (if (= @user-level 2) 255 15))
  445.     )
  446. )
  447.  
  448. ; Ask the user for the location of all parts
  449. (if (BITAND install-files 1)
  450.     (set visage-dest
  451.         (askdir
  452.             (prompt  #where-visage)
  453.             (help    @askdir-help)
  454.             (default "Sys:Utilities")
  455.         )
  456.     )
  457. )
  458.  
  459. (if (BITAND install-files 2)
  460.     (
  461.         (set guide-dest visage-dest)
  462.  
  463.         (if (exists "Help:")
  464.             (set guide-dest "Help:")
  465.         )
  466.  
  467.         (set guide-dest
  468.             (askdir
  469.                 (prompt  #where-visage-guide)
  470.                 (help    @askdir-help)
  471.                 (default guide-dest)
  472.             )
  473.         )
  474.  
  475.         (set dest-guide-name (tackon guide-dest "Visage.guide.info"))
  476.  
  477.         (set copy-guide-icon
  478.             (if (AND (= @user-level 2 ) (= (exists dest-guide-name) 0))
  479.                 (askbool
  480.                     (prompt #copy-guide-icon)
  481.                     (help    " ")
  482.                 )
  483.                 1
  484.             )
  485.         )
  486.     )
  487. )
  488.  
  489. (set languages 0)
  490.  
  491. ; .ct
  492. (if (BITAND install-files 4)
  493.     (set lang
  494.         (askoptions
  495.             (prompt    #which-language)
  496.             (help    #which-language-help "\n" @askoptions-help)
  497.             (choices
  498.                 "English"
  499.                 "Français"
  500.                 "Italiano"
  501.                 "Norsk"
  502.                 "Suomi"
  503.                 "Svenska"
  504.             )
  505.             (default default-lang)
  506.         )
  507.     )
  508. )
  509.  
  510. (if (BITAND install-files 240)    ; 16 + 32 + 64 + 128
  511.     (set tool-dest
  512.         (askdir
  513.             (prompt    #where-tools)
  514.             (help    #where-tools-help "\n" @askdir-help)
  515.             (default "C:")
  516.         )
  517.     )
  518. )
  519.  
  520. ; And now do the actual installation
  521.  
  522. (complete 0)
  523.  
  524. (if (BITAND install-files 1)
  525.     (
  526.         ; Get the version of previously installed Visage
  527.         (if (= (exists (tackon visage-dest "Visage")) 1)
  528.             (
  529.                 (set vernum (getversion (tackon visage-dest "Visage")))
  530.                 (set visagever (/ vernum 65536))
  531.                 (set visagerev (- vernum (* visagever 65536)))
  532.  
  533.                 (if (<= visagever 38)
  534.                     (
  535.                         (set visagever 39)
  536.                         (set visagerev 0)
  537.                     )
  538.                 )
  539.             )
  540.         )
  541.  
  542.         (copylib
  543.             (prompt    (#copy "Visage" visage-dest))
  544.             (source    "Visage")
  545.             (dest    visage-dest)
  546.         )
  547.  
  548.         (if (= (exists (tackon visage-dest "Visage.info")) 0)
  549.             (copyfiles
  550.                 (source    "Visage.info")
  551.                 (dest    visage-dest)
  552.             )
  553.             (set update 1)
  554.         )
  555.     )
  556. )
  557.  
  558. (complete 20)
  559.  
  560. (if (BITAND install-files 2)
  561.     (
  562.         (working #convert-guide)
  563.  
  564.         (run "C/FixAG Visage.guide T:Visage.Guide")
  565.  
  566.         (copylib
  567.             (prompt (#copy "Visage.guide" guide-dest))
  568.             (source "T:Visage.guide")
  569.             (dest   guide-dest)
  570.         )
  571.  
  572.         (delete "T:Visage.guide" (safe))
  573.  
  574.         (if copy-guide-icon
  575.             (copyfiles
  576.                 (source "Visage.guide.info")
  577.                 (dest   guide-dest)
  578.             )
  579.         )
  580.     )
  581. )
  582.  
  583. (complete 40)
  584.  
  585. ; .ct
  586. (if (BITAND install-files 4)
  587.     (
  588.         (set n 0)
  589.  
  590.         (while
  591.             (set language
  592.                 (select n
  593.                     "English"
  594.                     "Français"
  595.                     "Italiano"
  596.                     "Norsk"
  597.                     "Suomi"
  598.                     "Svenska"
  599.                     ""
  600.                 )
  601.             )
  602.  
  603.             (
  604.                 (if (AND (IN lang n) (<> 0 n))
  605.                     (
  606.                         (set catalog
  607.                             (tackon "Catalogs"
  608.                                 (tackon language "visage.catalog")
  609.                             )
  610.                         )
  611.  
  612.                         (set destination (tackon "Locale:Catalogs" language))
  613.  
  614.                         (copylib
  615.                             (prompt (#copy catalog destination))
  616.                             (source catalog)
  617.                             (dest   destination)
  618.                         )
  619.                     )
  620.                 )
  621.  
  622.                 (set n (+ n 1))
  623.             )
  624.         )
  625.     )
  626. )
  627.  
  628. (complete 45)
  629.  
  630. (if (BITAND install-files 16)
  631.     (copylib
  632.         (prompt (#copy "GetModeID" tool-dest))
  633.         (source "C/GetModeID")
  634.         (dest   tool-dest)
  635.     )
  636. )
  637.  
  638. (if (BITAND install-files 32)
  639.     (copylib
  640.         (prompt (#copy "Kill" tool-dest))
  641.         (source "C/Kill")
  642.         (dest   tool-dest)
  643.     )
  644. )
  645.  
  646. (if (BITAND install-files 64)
  647.     (copylib
  648.         (prompt (#copy "MakeLink" tool-dest))
  649.         (source "C/MakeLink")
  650.         (dest   tool-dest)
  651.     )
  652. )
  653.  
  654. (if (BITAND install-files 128)
  655.     (copylib
  656.         (prompt (#copy "UnpackILBM" tool-dest))
  657.         (source "C/UnpackILBM")
  658.         (dest   tool-dest)
  659.     )
  660. )
  661.  
  662. (complete 50)
  663.  
  664. ; JPEG codec installation
  665.  
  666. (if (BITAND install-files 8)
  667.     (
  668.         ;****************************************************************************
  669.         ;
  670.         ; Setup
  671.         ;
  672.  
  673.         (set libs-dest "LIBS:")
  674.         (set class-dest "SYS:Classes")
  675.  
  676.         (if (not (exists class-dest))
  677.             (set class-dest "LIBS:")
  678.         )
  679.  
  680.         ;****************************************************************************
  681.         ;
  682.         ; Welcome
  683.         ;
  684.  
  685.         (message #codec-message)
  686.  
  687.         ;****************************************************************************
  688.         ;
  689.         ; JPEGTMP: assignment
  690.         ;
  691.  
  692.         (set has-temp 0)
  693.  
  694.         (if (exists "JPEGTMP:" (noreq))
  695.             (
  696.                 (set has-temp 1)
  697.                 (if (= "RAM" (getdevice "JPEGTMP:"))
  698.                     (set has-temp 0)
  699.                 )
  700.             )
  701.         )
  702.  
  703.         (if (= has-temp 0)
  704.             (
  705.                 (set jpeg-tmp (askdir (help #temp-file) (prompt #jpeg-tmp-prompt) (default "SYS:")))
  706.                 (startup "JPEG Codec"
  707.                     (help #make-assign)
  708.                     (prompt #jpeg-startup-prompt)
  709.                     (command "Assign JPEGTMP: \"" jpeg-tmp "\"")
  710.                 )
  711.                 (makeassign "JPEGTMP" jpeg-tmp)
  712.             )
  713.         )
  714.  
  715.         (complete 60)
  716.  
  717.         ;****************************************************************************
  718.         ;
  719.         ; Install libraries and classes
  720.         ;
  721.  
  722.         (copylib
  723.             (help @copylib-help)
  724.             (prompt (#jpeg-copy "tower.library"))
  725.             (source "Libs/tower.library")
  726.             (dest libs-dest)
  727.             (confirm)
  728.         )
  729.  
  730.         (complete 70)
  731.  
  732.         (copylib
  733.             (help @copylib-help)
  734.             (prompt (#jpeg-copy "codec.class"))
  735.             (source "Classes/codec.class")
  736.             (dest class-dest)
  737.             (confirm)
  738.         )
  739.  
  740.         (complete 80)
  741.  
  742.         (copylib
  743.             (help @copylib-help)
  744.             (prompt (#jpeg-copy "picture.codec"))
  745.             (source "Classes/Codecs/picture.codec")
  746.             (dest (tackon class-dest "Codecs"))
  747.             (confirm)
  748.         )
  749.  
  750.         (complete 90)
  751.  
  752.         (copylib
  753.             (help @copylib-help)
  754.             (prompt (#jpeg-copy "jpeg.codec"))
  755.             (source "Classes/Codecs/jpeg.codec")
  756.             (dest (tackon class-dest "Codecs"))
  757.             (confirm)
  758.         )
  759.  
  760.         ;****************************************************************************
  761.         ;
  762.         ; Exit
  763.         ;
  764.  
  765.         (run "Avail >Nil: FLUSH")
  766.     )
  767. )
  768.  
  769.  
  770. (if (AND update visagever)
  771.     (
  772.         (complete 95)
  773.         (set defaction 0)
  774.  
  775.         (if (= visagerev 0)
  776.             (set defaction 2)
  777.         )
  778.  
  779.         (if (= visagerev 1)
  780.             (set defaction 3)
  781.         )
  782.  
  783.         (if (= visagerev 2)
  784.             (set defaction 4)
  785.         )
  786.  
  787.         (set action
  788.             (askchoice
  789.                 (prompt        #program-update)
  790.                 (choices    #update-none
  791.                         #update-all
  792.                         (#update-since "39.0")
  793.                         (#update-since "39.1")
  794.                         (#update-since "39.2")
  795.                 )
  796.                 (default    defaction)
  797.                 (help        #program-update-help "\n" @askchoice-help)
  798.             )
  799.         )
  800.  
  801.         (set tt39-1 "DITHER COMPACT TIME")
  802.         (set tt39-2 "COMMAND CYCLE NOCLICK NORMALNAMES RTG SORT TEST VCENTER")
  803.         (set tt39-3 "INFO SHOWINFO")
  804.  
  805.         ; tackon doesn't seem to work within a "format string". :(
  806.         (set icon-dest (tackon visage-dest "Visage"))
  807.         (set tooltype-pattern
  808.             (select action
  809.                 ""
  810.                 "#?"
  811.                 ("%s %s %s" tt39-3 tt39-2 tt39-1)
  812.                 ("%s %s"    tt39-3 tt39-2)
  813.                 ("%s"       tt39-3)
  814.             )
  815.         )
  816.  
  817.         (if (>= action 1)
  818.             (run ("C/UpdateTT Visage %s %s" icon-dest tooltype-pattern))
  819.         )
  820.     )
  821. )
  822.  
  823. (complete 100)
  824.  
  825. (exit)
  826.